/// 获取好友列表请求模型
/// 
/// 用于封装获取好友列表的请求参数
class FriendListReq {
  /// 用户ID（必填）
  final int userId;
  
  /// 分组ID（可选）
  final int? groupId;
  
  /// 状态筛选（可选）
  final String? status;
  
  /// 时间戳（用于加密）
  final int timestamp;

  FriendListReq({
    required this.userId,
    this.groupId,
    this.status,
    int? timestamp,
  }) : timestamp = timestamp ?? DateTime.now().millisecondsSinceEpoch ~/ 1000;

  /// 转换为JSON（用于API请求）
  Map<String, dynamic> toJson() {
    final json = <String, dynamic>{
      'user_id': userId,
      'timestamp': timestamp,
    };
    
    // 添加可选参数
    if (groupId != null) {
      json['group_id'] = groupId;
    }
    
    if (status != null && status!.isNotEmpty) {
      json['status'] = status;
    }
    
    return json;
  }
}

